package com.orange.singlePatterns;

import java.net.Inet4Address;

/**
 * @Description: 使用静态内部类实现单列
 * 当静态内部类被加载时，会在内部创建一个静态的实列对象，和饿汉式有点相似，不过可以实现延迟加载,将自己的单列对象交给其他类实现，其他类被
 * 引入时单列才会被创建
 */
public class InnerSingleton {
    //创建单列
    private static InnerSingleton instance;

    //私有化构造器
    private InnerSingleton(){};

    //提供获取实列的接口
    public static InnerSingleton getInstance(){
        return Inner.instance;
    }

    //构造静态内部类，内部类被调用时，创建该单列对象
    private static class Inner{
        private static InnerSingleton instance = new InnerSingleton();
    }
}
